home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1997 January / macformat-046.iso / Shareware Plus / Developers / EnterAct / EnterAct Stuff / hAWK project / AWK Headers / hAWK_recurse.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-22  |  1.3 KB  |  60 lines  |  [TEXT/KEEN]

  1. /* hAWK_recurse.h : when AWKmain() is called via the hAWK()
  2. function, globals are temporarily saved, and restored after
  3. the call, using a linked list of HAWKstate structs. */
  4.  
  5. extern short        hAWKstackDepth;
  6.  
  7. typedef struct HAWKstate
  8.     {
  9.     jmp_buf        envBuf;
  10.     short exiting;
  11.     short exit_val;
  12.     short tempsource;
  13.     char **sourcefile;
  14.     short numfiles;
  15.     short output_is_tty;
  16.     NODE *FS_node, *NF_node, *RS_node, *NR_node;
  17.     NODE *FILENAME_node, *OFS_node, *ORS_node, *OFMT_node;
  18.     NODE *FNR_node, *RLENGTH_node, *RSTART_node, *SUBSEP_node;
  19.     NODE *IGNORECASE_node;
  20.     NODE *ARGC_node, *ARGV_node;
  21.     NODE *RUNERR_node;
  22.     NODE *STDPATH_node;
  23.     NODE *TIME_node;
  24.     NODE **stack_ptr;
  25.     NODE *deref;
  26.     NODE **fields_arr;
  27.     short sourceline;
  28.     char *source;
  29.     NODE *expression_value;
  30.     NODE *_t;
  31.     char *myname;
  32.     short node0_valid;
  33.     NODE *variables[HASHSIZE];
  34.     NODE *begin_block, *end_block;
  35.     jmp_buf loop_tag;
  36.     short loop_tag_valid;
  37.     short func_tag_valid;
  38.     jmp_buf func_tag;
  39.     jmp_buf rule_tag;
  40.     char *line_buf;
  41.     char *parse_extent;
  42.     short parse_high_water;
  43.     char *save_fs;
  44.     NODE node0;
  45.     short nf_high_water;
  46.     struct re_pattern_buffer *rp;
  47.     char *last_fs;
  48.     char buf[10];
  49.     struct redirect *red_head;
  50.     short getline_redirect;
  51.     short field_num;
  52.     short si;
  53.     short files;
  54.     IOBUF *curfile;
  55.     NODE *nextfree;
  56.     short obscure_syntax;
  57.     struct HAWKstate *onebefore;
  58.     } HAWKstate, *HAWKstatePtr;
  59.  
  60. extern HAWKstatePtr    hs;